package com.pangus.ims.apiRm.service;

import java.util.HashSet;
import java.util.Set;

import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.pangus.common.sys.dto.domain.ConfigDto;
import com.pangus.common.sys.service.ConfigService;
import com.pangus.ims.wms.WmsConstants;

@Service
public class WmsGlobalStrategyOrgIdService {
	
	@Autowired
	private ConfigService configService;
	
	/**
	 * 根据编码获取wms全局策略对应的接口可用组织数据
	 * @param configCode
	 * @return
	 */
	public Set<String> listOrgIds(String configCode) {
		Set<String> orgIdList = new HashSet<>();
		ConfigDto configDto = new ConfigDto();
		configDto.setCompanyCode("0000");
		configDto.setConfigCode(configCode);
		configDto.setSystemCode(WmsConstants.SYSTEM_IMS_WMS_CODE);
		configDto.setConfigType(WmsConstants.GlobalStrategy.configName.WMS_GLOBAL.toString());
		configDto.setValidFlag("Y");
		configDto = configService.selectFirst(configDto);
		if (configDto == null) {
			return orgIdList;
		}
		String orgIds = configDto.getConfigValue();
		String[] ids = orgIds.split(",");
		for(int i=0;i<ids.length;i++) {
			String orgId = ids[i];
			if(StringUtils.isNotBlank(orgId)&&orgId.matches("[0-9]+")) {
				orgIdList.add(orgId);
			}
		}
		return orgIdList;
	}
	
}
